<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh_CN" xml:lang="zh_CN">
<head>
<title>JFinal-Ext</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta name="title" content="JFinal-Ext"/>
<meta name="generator" content="Org-mode"/>
<meta name="generated" content="2014-10-18"/>
<meta name="author" content="Kid Zhou"/>
<meta name="description" content="JFinal-Ext 介绍"/>
<meta name="keywords" content="JFinal-Ext JFinal"/>
<style type="text/css">
 <!--/*--><![CDATA[/*><!--*/
  html { font-family: Times, serif; font-size: 12pt; }
  .title  { text-align: center; }
  .todo   { color: red; }
  .done   { color: green; }
  .tag    { background-color: #add8e6; font-weight:normal }
  .target { }
  .timestamp { color: #bebebe; }
  .timestamp-kwd { color: #5f9ea0; }
  .right  {margin-left:auto; margin-right:0px;  text-align:right;}
  .left   {margin-left:0px;  margin-right:auto; text-align:left;}
  .center {margin-left:auto; margin-right:auto; text-align:center;}
  p.verse { margin-left: 3% }
  pre {
	border: 1pt solid #AEBDCC;
	background-color: #F3F5F7;
	padding: 5pt;
	font-family: courier, monospace;
        font-size: 90%;
        overflow:auto;
  }
  table { border-collapse: collapse; }
  td, th { vertical-align: top;  }
  th.right  { text-align:center;  }
  th.left   { text-align:center;   }
  th.center { text-align:center; }
  td.right  { text-align:right;  }
  td.left   { text-align:left;   }
  td.center { text-align:center; }
  dt { font-weight: bold; }
  div.figure { padding: 0.5em; }
  div.figure p { text-align: center; }
  div.inlinetask {
    padding:10px;
    border:2px solid gray;
    margin:10px;
    background: #ffffcc;
  }
  textarea { overflow-x: auto; }
  .linenr { font-size:smaller }
  .code-highlighted {background-color:#ffff00;}
  .org-info-js_info-navigation { border-style:none; }
  #org-info-js_console-label { font-size:10px; font-weight:bold;
                               white-space:nowrap; }
  .org-info-js_search-highlight {background-color:#ffff00; color:#000000;
                                 font-weight:bold; }
  /*]]>*/-->
</style>
<script type="text/javascript">
/*
@licstart  The following is the entire license notice for the
JavaScript code in this tag.

Copyright (C) 2012-2013 Free Software Foundation, Inc.

The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version.  The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.

As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.


@licend  The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
 function CodeHighlightOn(elem, id)
 {
   var target = document.getElementById(id);
   if(null != target) {
     elem.cacheClassElem = elem.className;
     elem.cacheClassTarget = target.className;
     target.className = "code-highlighted";
     elem.className   = "code-highlighted";
   }
 }
 function CodeHighlightOff(elem, id)
 {
   var target = document.getElementById(id);
   if(elem.cacheClassElem)
     elem.className = elem.cacheClassElem;
   if(elem.cacheClassTarget)
     target.className = elem.cacheClassTarget;
 }
/*]]>*///-->
</script>

</head>
<body>

<div id="preamble">

</div>

<div id="content">
<h1 class="title">JFinal-Ext</h1>



<p>
Jfinal-ext是对java极速web框架jfinal (<a href="https://github.com/jfinal/jfinal">https://github.com/jfinal/jfinal</a>)
的功能扩展
使用手册 <a href="https://github.com/b1412/jfinal-ext/blob/master/doc/doc.org">https://github.com/b1412/jfinal-ext/blob/master/doc/doc.org</a>
</p>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#sec-1">1 Plugin扩展</a>
<ul>
<li><a href="#sec-1-1">1.1 自定绑定表 AutoTableBindPlugin</a></li>
<li><a href="#sec-1-2">1.2 类似ibatis在xml中管理sql SqlInXmlPlugin</a></li>
<li><a href="#sec-1-3">1.3 jms消息处理 JmsPlugin</a></li>
<li><a href="#sec-1-4">1.4 任务调度  QuartzPlugin Cron4jPlugin</a>
<ul>
<li><a href="#sec-1-4-1">1.4.1 Quartz</a></li>
<li><a href="#sec-1-4-2">1.4.2 Cron4j</a></li>
</ul>
</li>
<li><a href="#sec-1-5">1.5 ConfigPlugin</a></li>
<li><a href="#sec-1-6">1.6 MongodbPlugin</a></li>
</ul>
</li>
<li><a href="#sec-2">2 Render扩展</a>
<ul>
<li><a href="#sec-2-1">2.1 DwzRender</a></li>
<li><a href="#sec-2-2">2.2 excel支持</a>
<ul>
<li><a href="#sec-2-2-1">2.2.1 PoiRender</a></li>
<li><a href="#sec-2-2-2">2.2.2 JxlsRender</a></li>
</ul>
</li>
<li><a href="#sec-2-3">2.3 AmChartsRender</a></li>
<li><a href="#sec-2-4">2.4 FreeMarkerXMLRender</a></li>
</ul>
</li>
<li><a href="#sec-3">3 捐赠</a></li>
<li><a href="#sec-4">4 其他开源项目</a>
<ul>
<li><a href="#sec-4-1">4.1 JCOP</a></li>
</ul>
</li>
</ul>
</div>
</div>

<div id="outline-container-1" class="outline-2">
<h2 id="sec-1"><span class="section-number-2">1</span> Plugin扩展</h2>
<div class="outline-text-2" id="text-1">


</div>

<div id="outline-container-1-1" class="outline-3">
<h3 id="sec-1-1"><span class="section-number-3">1.1</span> 自定绑定表 AutoTableBindPlugin</h3>
<div class="outline-text-3" id="text-1-1">

<p>扫描clsspath和lib中继承了model的类自动注册，可选择不同的命名规则自定映射表名，也可以在每一个model上用注解指定表名
</p>
</div>

</div>

<div id="outline-container-1-2" class="outline-3">
<h3 id="sec-1-2"><span class="section-number-3">1.2</span> 类似ibatis在xml中管理sql SqlInXmlPlugin</h3>
<div class="outline-text-3" id="text-1-2">


<p>
xml配置格式
</p>


<pre class="example">&lt;sqlGroup name="blog" &gt;
      &lt;sql id="findBlog"&gt;select * from blog&lt;/sql&gt;
      &lt;sql id="findUser"&gt;select * from user&lt;/sql&gt;
&lt;/sqlGroup&gt;
</pre>


<p>
获取配置的sql
SqlManager.sql("blog.findBlog")
</p></div>

</div>

<div id="outline-container-1-3" class="outline-3">
<h3 id="sec-1-3"><span class="section-number-3">1.3</span> jms消息处理 JmsPlugin</h3>
<div class="outline-text-3" id="text-1-3">


<p>
JmsKit.sendQueue("q1", new M(), "a");
</p></div>

</div>

<div id="outline-container-1-4" class="outline-3">
<h3 id="sec-1-4"><span class="section-number-3">1.4</span> 任务调度  QuartzPlugin Cron4jPlugin</h3>
<div class="outline-text-3" id="text-1-4">



</div>

<div id="outline-container-1-4-1" class="outline-4">
<h4 id="sec-1-4-1"><span class="section-number-4">1.4.1</span> Quartz</h4>
<div class="outline-text-4" id="text-1-4-1">


<p>
调度任务实现org.quartz.Job接口
</p>
<p>
job.properties中配置任务
</p>



<pre class="example">#JobA
a.job=test.com.jfinal.plugin.quzrtz.JobA
a.cron=*/5 * * * * ?
a.enable=true
#JobB
b.job=test.com.jfinal.plugin.quartz.JobB
b.cron=*/10 * * * * ?
b.enable=false
</pre>


</div>

</div>

<div id="outline-container-1-4-2" class="outline-4">
<h4 id="sec-1-4-2"><span class="section-number-4">1.4.2</span> Cron4j</h4>
<div class="outline-text-4" id="text-1-4-2">


<p>
调度任务实现java.lang.Runnable接口
</p>
<p>
job.properties中配置任务
</p>



<pre class="example">#JobA
a.job=test.com.jfinal.plugin.cron4j.JobA
a.cron=* * * * *
a.enable=true
#JobB
b.job=test.com.jfinal.plugin.cron4j.JobB
b.cron=* * * * *
b.enable=false
</pre>


</div>
</div>

</div>

<div id="outline-container-1-5" class="outline-3">
<h3 id="sec-1-5"><span class="section-number-3">1.5</span> ConfigPlugin</h3>
<div class="outline-text-3" id="text-1-5">

<p>   分优先级加载配置文件
   在团队开发中如果自己有测试配置需要长期存在但是又不需要提交中心库的时候 
可以采用分级配置加载的策略。 如中心库中有config.properties这个配置，你可以创建 config-test.properties文件，配置相同的key，ConfigKit中的方法会优先加载 xx-test.properties文件。
</p>
</div>

</div>

<div id="outline-container-1-6" class="outline-3">
<h3 id="sec-1-6"><span class="section-number-3">1.6</span> MongodbPlugin</h3>
<div class="outline-text-3" id="text-1-6">


</div>
</div>

</div>

<div id="outline-container-2" class="outline-2">
<h2 id="sec-2"><span class="section-number-2">2</span> Render扩展</h2>
<div class="outline-text-2" id="text-2">


</div>

<div id="outline-container-2-1" class="outline-3">
<h3 id="sec-2-1"><span class="section-number-3">2.1</span> DwzRender</h3>
<div class="outline-text-3" id="text-2-1">

</div>

</div>

<div id="outline-container-2-2" class="outline-3">
<h3 id="sec-2-2"><span class="section-number-3">2.2</span> excel支持</h3>
<div class="outline-text-3" id="text-2-2">

<p>   通过list数据生成excel,支持的数据类型为map ,record , model。
</p>
</div>

<div id="outline-container-2-2-1" class="outline-4">
<h4 id="sec-2-2-1"><span class="section-number-4">2.2.1</span> PoiRender</h4>
<div class="outline-text-4" id="text-2-2-1">

</div>

</div>

<div id="outline-container-2-2-2" class="outline-4">
<h4 id="sec-2-2-2"><span class="section-number-4">2.2.2</span> JxlsRender</h4>
<div class="outline-text-4" id="text-2-2-2">

</div>
</div>

</div>

<div id="outline-container-2-3" class="outline-3">
<h3 id="sec-2-3"><span class="section-number-3">2.3</span> AmChartsRender</h3>
<div class="outline-text-3" id="text-2-3">

</div>

</div>

<div id="outline-container-2-4" class="outline-3">
<h3 id="sec-2-4"><span class="section-number-3">2.4</span> FreeMarkerXMLRender</h3>
<div class="outline-text-3" id="text-2-4">

<p>利用freemaker生成xml
</p>
</div>
</div>

</div>

<div id="outline-container-3" class="outline-2">
<h2 id="sec-3"><span class="section-number-2">3</span> 捐赠</h2>
<div class="outline-text-2" id="text-3">


<p>
如果您喜欢JFinal-Ext
并确实对您带来帮助
对此感到无比高兴
您的捐赠，是JFinal-Ext前进的动力!
支付宝捐助账户： zhouleib1412@gmail.com    (可输入留言)
<img src="./doc/img/alipay_pic_small.png"  alt="./doc/img/alipay_pic_small.png" />
</p>
</div>

</div>

<div id="outline-container-4" class="outline-2">
<h2 id="sec-4"><span class="section-number-2">4</span> 其他开源项目</h2>
<div class="outline-text-2" id="text-4">


</div>

<div id="outline-container-4-1" class="outline-3">
<h3 id="sec-4-1"><span class="section-number-3">4.1</span> JCOP</h3>
<div class="outline-text-3" id="text-4-1">

<p>  极简自由的代码生成器 JFinal-Code-Online
  osc: <a href="http://www.oschina.net/p/jcop">http://www.oschina.net/p/jcop</a>  
  github: <a href="https://github.com/b1412/jfinal-ext">https://github.com/b1412/jfinal-ext</a>
</p>


</div>
</div>
</div>
</div>

<div id="postamble">
<p class="date">Date: 2014-10-18</p>
<p class="author">Author: Kid Zhou</p>
<p class="creator"><a href="http://orgmode.org">Org</a> version 7.9.3f with <a href="http://www.gnu.org/software/emacs/">Emacs</a> version 24</p>
<a href="http://validator.w3.org/check?uri=referer">Validate XHTML 1.0</a>

</div>
</body>
</html>
